const express = require("express");
const fs = require("fs");
const path = require("path");

const app = express();

// 写一个全局中间件把所有的请求的地址和ip记录下来

const logger = (req, res, next) => {
  // next 表示继续向下执行
  fs.appendFileSync(
    path.resolve(__dirname, "./log.txt"),
    `${req.url} ${req.ip}\n`
  );
  //   注意这里要放行next() 否则会一直等待
  next();
};

// 把全局中间件挂载到全局
app.use(logger);

app.get("/", (req, res) => {
  res.send("Hello World!");
});

app.get("/home", (req, res) => {
  res.send("welcome go home!");
});

app.post("/age", (req, res) => {
  res.send("18!");
});

app.all("/text", (req, res, next) => {
  res.send("text!");
});

// 404 处理（必须放在最后）
app.all("{/*splat}", (req, res) => {
  res.send("404了!!!");
});

app.listen(8080, () => {
  console.log("服务启动了");
});
